pub fn dp_rec_mc(amount: u32) -> u32 {
    // 定义币种，从大到小排序
    let denominations = [100, 50, 30, 20, 10, 5, 2, 1];
    let mut remaining_amount = amount;
    let mut total_coins = 0;

    // 从大到小每次取能取到最大的
    for &denom in &denominations {
        if remaining_amount == 0 {
            break;
        }
        // 计算当前币种的数量
        let count = remaining_amount / denom;
        if count > 0 {
            total_coins += count;
            remaining_amount -= count * denom;
        }
    }

    total_coins
}
